package com.pet.common.model;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 分页模型
 *
 * @author Centaurea
 */
@Data
@NoArgsConstructor
public class PageModel<T> implements Serializable {
  private static final long serialVersionUID = -769976406018065301L;

  private Integer pageNo;
  private Integer limit;
  private Integer pageSize;
  private List<T> records = new ArrayList<T>();
  private long total;

  public PageModel(int pageNo, int limit) {
    this.pageNo = pageNo;
    this.limit = limit;
    this.pageSize = limit;
  }

  public Integer getPageNo() {
    if (pageNo == null || pageNo < 1) {
      pageNo = 1;
    }
    return pageNo;
  }

  public Integer getLimit() {
    if (limit == null || limit < 1) {
      limit = 10;
    }
    return (pageSize != null && pageSize > 0) ? pageSize : limit;
  }
}
